const webpack = require('webpack')

module.exports = {
    lintOnSave : false,

    // 部署应用时index.html中文件注入时的前缀
    publicPath: '/static/dist/homepage/',

    // 运行时生成的生产环境构建文件的目录(默认''dist''，构建之前会被清除)
    outputDir: "dist",

    //放置生成的静态资源(s、css、img、fonts)的(相对于 outputDir 的)目录(默认'')
    assetsDir: "static",

    //指定生成的 index.html 的输出路径(相对于 outputDir)也可以是一个绝对路径。
    indexPath: "homepage_index.html",

    pages: {
        //pages 里配置的路径和文件名在你的文档目录必须存在 否则启动服务会报错
        index: {
            //除了 entry 之外都是可选的
            entry: "src/main.js", // page 的入口,每个“page”应该有一个对应的 JavaScript 入口文件
            template: "public/index.html", // 模板来源
            filename: "index.html", // 在 dist/index.html 的输出
            title: "ExtraXue | Homepage", // 当使用 title 选项时,在 template 中使用：<title><%= htmlWebpackPlugin.options.title %></title>
            chunks: ["chunk-vendors", "chunk-common", "index", "manifest"] // 在这个页面中包含的块，默认情况下会包含,提取出来的通用 chunk 和 vendor chunk
        }
    },

    // 配置webpack
    configureWebpack: {
        cache: true,
        plugins: [
        ],
        performance: {
            hints: false
        },
        optimization: {
            // vue cli 3.x默认没有生产manifest.js文件
            runtimeChunk: process.env.NODE_ENV === "production" ? { name: "manifest" } : false,
            splitChunks: {}
        }
    },

    // 扩展webpack配置
    chainWebpack: config => {
        // 移除 prefetch 插件
        config.plugins.delete("preload");
        config.plugins.delete("prefetch");
        config.plugin('provide').use(webpack.ProvidePlugin, [{
            introJs: ['intro.js', 'introJs']
        }])
    },

    // 生产环境是否生成 sourceMap 文件
    productionSourceMap: false,

    css: {
        extract: true, // 是否使用css分离插件 ExtractTextPlugin
        sourceMap: false, // 开启 CSS source maps
        loaderOptions: {}, // css预设器配置项
        modules: false // 启用 CSS modules for all css / pre-processor files.
    },

    devServer: {
        // 环境配置
        // host: "localhost",
        disableHostCheck:true,
        port: 9998,
        https: false,
        hotOnly: false,
        overlay: {
            warnings: true,
            errors: true
        },
        open: true, //配置自动启动浏览器
        // proxy: {
        //     '/*': {
        //         target: 'http://127.0.0.1:9998/',
        //         // 允许跨域
        //         changeOrigin: true,
        //         ws: false,
        //     }
        // }
    },

    transpileDependencies: [
      'vuetify'
    ]
}
